home *** CD-ROM | disk | FTP | other *** search
- ;-------T-------T------------------------T----------------------------------;
- ;Name: Run Segment.
- ;Author: Paul Manias
- ;Copyright: DreamWorld Productions (c) 1996-1997. Freely distributable.
- ;
- ;This demo lists system references in the IceBreaker window.
-
- INCDIR "GMSDev:Includes/"
- INCLUDE "dpkernel/dpkernel.i"
- INCLUDE "system/debug.i"
- INCLUDE "system/globalbase.i"
- INCLUDE "system/misc.i"
- INCLUDE "files/segments.i"
-
- SECTION "Demo",CODE
-
- ;===========================================================================;
- ; INITIALISE DEMO
- ;===========================================================================;
-
- STARTDPK
-
- Start: MOVEM.L A0-A6/D1-D7,-(SP)
- move.l DPKBase(pc),a6
-
- move.l gb_ReferenceDir(a6),a0
- cmp.l #$00,a0
- beq.s .Exit
- bsr.s PrintDirectory
-
- move.l DPKBase(pc),a6
- move.l gb_ReferenceList(a6),a0
- bsr.s PrintReferences
-
- .Exit MOVEM.L (SP)+,A0-A6/D1-D7
- moveq #ERR_OK,d0
- rts
-
- ;===========================================================================;
- ; PRINT DIRECTORY STRUCTURE
- ;===========================================================================;
-
- PrintDirectory:
- moveq #DBG_Message,d7 ;d7 = Message.
- lea .message(pc),a5
- CALL DebugMessage ;>> = Send the message.
-
- move.l a0,a4
- move.l DIR_ChildDir(a0),a0 ;a0 = DirList.
- .dirlp cmp.l #$00,a0
- beq.s .filelist
- moveq #DBG_Message,d7 ;d7 = Message.
- move.l DIR_Source(a0),a1 ;a1 = FileName.
- move.l FN_Name(a1),a5 ;a5 = Name of file.
- CALL DebugMessage ;>> = Send the message.
- move.l DIR_Next(a0),a0 ;a0 = Next directory.
- bra.s .dirlp ;>> = Keep looping.
-
- .filelist
- move.l a4,a0 ;a0 = Directory.
- move.l DIR_ChildFile(a0),a0 ;a0 = DirList.
- .filelp cmp.l #$00,a0
- beq.s .end
- move.l DIR_Source(a0),a1 ;a1 = FileName.
- move.l FN_Name(a1),a5 ;a5 = Name of file.
- moveq #DBG_Message,d7 ;d7 = Message.
- CALL DebugMessage ;>> = Send the message.
- move.l DIR_Next(a0),a0 ;a0 = Next directory.
- bra.s .filelp ;>> = Keep looping.
- .end rts
-
- .message
- dc.b "Printing reference files.",0
- even
-
- ;===========================================================================;
- ; PRINT OBJECT REFERENCES
- ;===========================================================================;
-
- PrintReferences:
- cmp.l #$00,a0
- beq.s .noref
-
- moveq #DBG_Message,d7 ;d7 = Message.
- lea .message(pc),a5
- CALL DebugMessage ;>> = Send the message.
- .loop cmp.l #$00,a0
- beq.s .end
- move.l REF_ObjectName(a0),a5
- moveq #DBG_Message,d7 ;d7 = Message.
- CALL DebugMessage ;>> = Send the message.
- move.l REF_Next(a0),a0
- bra.s .loop
- .end rts
-
- .noref moveq #DBG_Message,d7 ;d7 = Message.
- lea .noreferences(pc),a5
- CALL DebugMessage ;>> = Send the message.
- rts
-
- .message
- dc.b "Printing system references.",0
- even
-
- .noreferences
- dc.b "No references declared by system.",0
- even
-
- ;===========================================================================;
-
- ProgName: dc.b "List References",0
- ProgAuthor: dc.b "Paul Manias",0
- ProgDate: dc.b "8 October 1997",0
- ProgCopyright: dc.b "DreamWorld Productions (c) 1996-1997. Freely distributable.",0
- ProgShort: dc.b "Lists all system reference files.",0
- even
-
-